/* Copyright 2006, 2007, 2008, 2009, 2010 do SETEC/MEC
 *
 * Este arquivo é parte do programa SigaEPT
 *
 * O SigaEPT é um software livre;  você pode redistribuí-lo e/ou modificá-lo dentro dos
 * termos da Licença Pública Geral GNU como publicada pela fundação do software livre (FSF);
 * na versão 2 da Licença.
 *
 * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem
 * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja Licença
 * Pública Geral GNU/GPL em português para maiores detalhes.
 *
 * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título “LICENCA.txt”,
 * junto com este programa, se não, acesse o portal do Software Público Brasileiro no endereço
 * www.softwarepublico.gov.br ou escreva para Fundação do Software Livre (FSF) Inc.,51 Franklin
 * St, Fifth Floor, Boston, MA 02110-1301, USA
 */

package br.edu.ifrn.exception;

import java.util.ArrayList;
import java.util.List;

public class NegocioException extends Exception {

	private static final long serialVersionUID = -2053650729188231826L;

	private List<String> mensagens = new ArrayList<String>();

	public NegocioException(Throwable cause) {
		super(cause);
		ExceptionUtil.adicionarErro(cause, mensagens);
	}

	public NegocioException(String mensagem) {
		super(mensagem);
		mensagens.add( mensagem );		
	}

	public NegocioException(List<String> mensagens) {
		super(mensagens.toString());
		this.mensagens =  mensagens;		
	}
	
	public List<String> getMensagens() {
		return mensagens;
	}

	@Override
	public String getMessage() {
		//retorna todas as mensagens em uma unica string
		String retorno = "";
		for(String msg: mensagens){
			if(msg != null)
				retorno += msg.concat(". ");
		}
		return retorno.trim();
	}

	public void setMensagens(List<String> mensagens) {
		this.mensagens = mensagens;
	}
	
}
